Nix Flake ってなんなんだ泣
flake.nix があるディレクトリのことを言ったりする
flake.nix を読もうとしたら、Nxi 言語以上の意味があることがわかった
Flakes - Official NixOS Wiki
Nix の評価器が何かしらのきっかけ(nix コマンド)まず flake.nixを見つける
(つまり flake.nix という名前に意味がある)
そして flake.nix はスキーマが決まっている
ただの Nix 式以上の特別な .nix ファイル
The flake.nix file is a Nix file but that has special restrictions (more on that later).
4 つのトップレベル属性
description
inputs
outputs
nixConfig
dotfiles/flake.nix at main · naitokosuke/dotfiles · GitHub
拙 dotfiles では nixConfig は使用していなかった
description はただの文字列
inputs は Attribute Set
outputs は関数
nixConfig も Attribute Set
nixConfig は Flake 固有の Nix の設定があればグローバルの設定を汚染しないまま上書きできるような仕組みらしい
使ったことがないのでよくわからない
inputs は Flake の依存する Flake の一覧
outputs は Flake の出力する Nix 式
inputs では Flake の場所を記載する必要がある
URL やファイルパスなど
URL の場合は概ね GitHub の URL